package com.literature.threeGroup.mapper;

import com.literature.threeGroup.pojo.Organ;
import com.literature.threeGroup.pojo.Param;
import com.literature.threeGroup.pojo.ParamExample;
import org.springframework.stereotype.Component;

import java.util.List;
@Component
public interface ParamMapper {
    long countByExample(ParamExample example);

    int deleteByExample(ParamExample example);

    int deleteByPrimaryKey(String id);
    /**
     * @name  参数添加
     * @Author VULCAN
     * @Date 2020/1/23 12:45
     */
    int insert(Param record);

    int insertSelective(Param record);

    List<Param> selectByExample(ParamExample example);

    Param selectByPrimaryKey(String id);

    int updateByExampleSelective(@org.apache.ibatis.annotations.Param("record") Param record, @org.apache.ibatis.annotations.Param("example") ParamExample example);

    int updateByExample(@org.apache.ibatis.annotations.Param("record") Param record, @org.apache.ibatis.annotations.Param("example") ParamExample example);

    int updateByPrimaryKeySelective(Param record);

    int updateByPrimaryKey(Param record);

    /**
      * @name  参数tree
     * @Author VULCAN
     * @Date 2020/1/11 10:03
     */
    List<Param> findparamtree();
    /**
      * @name  参数列表 +模糊
     * @Author VULCAN
     * @Date 2020/1/22 13:20
     */
    List<Param> findparamtreelikename(Param param);
    /**
     * @name  参数删除
     * @Author VULCAN
     * @Date 2020/1/23 12:45
     */
    void paramdel(String id);
    /**
     * @name  参数修改
     * @Author VULCAN
     * @Date 2020/1/23 12:45
     */
    void paramupdate(Param param);
    /**
     * @name  paramcount
     * @Author VULCAN
     * @Date 2020/1/11 10:01
     */
    List paramcount();
    /**
      * @name  学科
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamsubject();
    /**
     * @name  国家
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamcountry();
    /**
     * @name  文献
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamliterature();
    /**
     * @name  载体
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamcmorphology();
    /**
     * @name  语种
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamlanguage();
    //查询参数表
    String findPid(@org.apache.ibatis.annotations.Param("idList") List<String> idList);

    //文献类型
    List<Param> selectType(String pid);
    //载体类型
    List<Param> selectCarrier(String pid);
    //学科
    List<Param> selectSubject(String pid);
    //国家
    List<Param> selectCountry(String pid);
    //出版状态
    List<Param> selectPubStatus(String pid);
    //语种
    List<Param> selectLanguage(String pid);
    //货币
    List<Param> selectCurrency(String pid);

    /**
      * @name  学科级别下拉
     * @Author VULCAN
     * @Date 2020/2/8 13:00
     */
    List<Param>  findparamsubjectXl();
    /**
     * @name  语种级别下拉
     * @Author VULCAN
     * @Date 2020/2/8 13:00
     */
    List<Param> findparamlanguageXl();
}